Version 12/091223 of Default Messages by David Fisher begins here. "Enables the standard messages printed by the Inform library to be replaced with custom messages." Part 1 - Definitions Section 1.1 - Library Message values Library message id is a kind of value. The library message ids are defined by the table of library messages. The library-message-id is a library message id that varies. Library message debug is a thing. Library message debug can be dbg_on or dbg_off. Section 1.2 - Defaults Library message debug is dbg_off. Table of custom library messages Message Id Message Text library message id text Section 1.3 - Altering messages When play begins: init library messages; add the custom library messages. To add the custom library messages: repeat through the table of custom library messages begin; set message id entry to the message text entry; end repeat. To set (id_ - library message id) to (msg_ - text): update the row with id of id_ to msg_. [ perform a binary search to quickly find the message id (table is guaranteed to be sorted) ] To update the row with id of (id_ - library message id) to (msg_ - text): let n1 be 1; let n2 be the number of rows in the table of library messages; while n1 <= n2 begin; let mid_ be n1 plus n2; now mid_ is mid_ divided by 2; choose row mid_ in the table of library messages; if the message id entry is id_ begin; now the message text entry is msg_; now n1 is n2 + 1; [ to force the loop to stop ] end if; if the message id entry < id_, now n1 is mid_ plus 1; if the message id entry > id_, now n2 is mid_ minus 1; end while. Part 2 - Messages Table of library messages Message Id Message Text LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg "~" LibMsg